如何通过Battery Historian分析Android APP耗电情况 |
您所在的位置:网站首页 › adb shell bugreport › 如何通过Battery Historian分析Android APP耗电情况 |
目录一、电量统计模块概述1.1、软件耗电统计二、battery-historian2.1、概述2.2、获取bugreports2.3、数据分析2.4、bugreport 文件分析一、电量统计模块概述
耗电信息在设置 -> 电量中能够非常直观的看到。注意,Android 所有功耗统计都是通过代码估算,没有集成电路参与汇报。准确度取决于厂商 ROM 所提供的power_profile.xml文件。由于不同厂商power_profile.xml准确度及源码有差异,因此不同手机、不同版本的数据可能有较大差异。 power_profile.xml直接影响统计的准确度,并且此文件无法通过应用修改。再次强调,Android 耗电估算没有硬件的参与,全靠代码估算。 power_profile.xml文件位于源码下的/framework/base/core/res/res/xml/power_profile.xml,部分内容展示如下: 0.1 0.1 0.2 0.1 400000 0.1 0.1 .0002 .002 .02 .2 2这就是在硬件层面统计时,直接参与运算的参数。无论是软件耗电统计还是硬件耗电统计,都通过BatteryStatsHelper来进行汇总。BatteryStatsHelper位于/framework/base/core/java/com/andorid/internal/os/BatteryStatsHelper.java下。 1.1、软件耗电统计在BatteryStatsHelper.java中,有这么一个方法: private void processAppUsage(SparseArray asUsers) { final boolean forAllUsers = (asUsers.get(UserHandle.USER_ALL) != null); mStatsPeriod = mTypeBatteryRealtime; BatterySipper osSipper = null; final SparseArray |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |